##  ITEM RESPONSE THEORY: THREE-PARAMETER LOGISTIC MODEL
##  MODEL FOR MEASURMENT OF POLITICAL KNOWLEDGE
##  TO MODEL DIFFERENTIAL ITEM FUNCTIONING, LET ITEM PARAMETERS VARY ACROSS GROUPS, SUCH AS GENDER, UNDER A MULTILEVEL FRAMEWORK.

model {
	# LOOP OVER N RESPONDENTS
	for (i in 1:N) {        
		# LOOP OVER K ITEMS
	    for (k in 1:K) {    
	    	# LOGISTIC MODEL FOR POLITICAL KNOWLEDGE
	    	y[i,k] ~ dbern (p[i,k])
	    	logit(p.star[i,k]) <- beta[group[i],k]*(theta[i] - alpha[group[i],k])
	    	p[i,k] <- gamma[group[i],k] + (1-gamma[group[i],k])*p.star[i,k]
	    }    
	    # DISTRIBUTIONAL ASSUMPTION FOR THE LATENT TRAIT
	    theta[i] ~ dnorm (0, 1)
    }    

	# FOR IDENTIFICATION, THE PARAMETER ESTIMATES OF ONE ITEM IS HELD CONSTANT ACROSS GROUPS
    for (j in 1:J) {
    	beta[j,1] <- 1.5;
    	alpha[j,1] <- -3;
    	gamma[j,1] <- 0.15;
    }
             
	# DISTRIBUTIONS OF ITEM PARAMETERS
    for (k in 2:K) {
    	for (j in 1:J) {
    		beta[j,k] ~ dnorm (1, 0.5) T(0,)  # DISCRIMINATION PARAMETER; USUALLY [0.5, 3]
    		alpha[j,k] ~ dnorm (0, tau.alpha)  # DIFFICULTY PARAMETER
    		gamma[j,k] ~ dunif (0, 1) # GUESSING PARAMETER; BETWEEN 0 AND 1
    	}
    }

	tau.alpha ~ dgamma (0.01, 0.01)
	sigma.alpha <- 1/sqrt(tau.alpha)

} # END OF MODEL


